#ifndef _RENDERINGCORE_H
#define	_RENDERINGCORE_H

namespace RenderingCore
{
	class Vector;
	class Point;
	class Normal;
	class BBox;
	class UV;
	//class MachineEpsilon;
	class Transform;
	class Matrix4x4;
	class Triangle;
	class Ray;
	class RayHit;

	#define DEFAULT_EPSILON_MIN 1e-9f
#define DEFAULT_EPSILON_MAX 1e-1f
#define DEFAULT_EPSILON_STATIC 1e-5f

// An epsilon that can be used as threshold for cos(theta). For instance:
// if (Dot(N, LightDir) < DEFAULT_COS_EPSILON_STATIC) return Spectrum();
#define DEFAULT_COS_EPSILON_STATIC 1e-4f

// This is about 1e-5f for values near 1.f
#define DEFAULT_EPSILON_DISTANCE_FROM_VALUE 0x80u
}
#endif